/*
Minims .Net Playstation 3 UPNP ContentDirectory
Copyright (C) 2008  Guillaume Plourde

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Xml;

namespace minims
{
	public class ConfigManager
	{
		// Upnp Device
		static string FriendlyName = "Minims .Net";
		static string Manufacturer = "";
		static string ManufacturerURL = "http://code.google.com/p/minims/";
		static string ModelDescription = "";
		static string ModelName = "Mini Media Server";
		static string ModelNumber = "2008-02";
		static string SerialNumber = "0000000001";
		static string UniqueDeviceName = "69163f93-4f3053d0";
		static string Version = "1.0";

		// httpd default configuration
		static string Hostname = Dns.GetHostName();
		static IPHostEntry Ip = Dns.GetHostByName(Dns.GetHostName());
		static int Port = 8080;

		// SSDP service
		static int SSDP_Port = 1900;

		/// <summary>
		/// Get selected port for the http server.
		/// </summary>
		public static int GetPort { get { return Port; } }
		/// <summary>
		/// Get hostname of this computer.
		/// </summary>
		public static string GetHostname { get { return Hostname; }	}
		/// <summary>
		/// Get ip of this computer.
		/// </summary>
		public static string GetHostIp { get { return Ip.AddressList[0].ToString(); } }
		/// <summary>
		/// Get upnp friendly name for the device.
		/// </summary>
		public static string GetFriendlyName { get { return (FriendlyName + " (" + Hostname + ")"); } }

		/// <summary>
		/// Get device serial Number
		/// </summary>
		public static string GetSerialNumber { get { return SerialNumber; }	}
		
		/// <summary>
		/// Get device serial Number
		/// </summary>
		public static string GetUniqueDeviceName { get { return UniqueDeviceName; }	}

		/// <summary>
		/// 
		/// </summary>
		public static string GetManufacturerURL	{ get { return ManufacturerURL; } }

		public static void CreateRootDevice()
		{

		}
	}
}
